#ifndef __STORMWIDGET_CONFIGMANAGE_ITASK_ITASK_H
#define __STORMWIDGET_CONFIGMANAGE_ITASK_ITASK_H

#include "CommonDefine.h"
#include "MaterialInfo.h"
#include "ITaskEvent.h"
#include "SetupThread.h"
#include "PostCount.h"

class ITask
{
public:
	virtual ~ITask(void){};
	virtual void Run(TASKTYPE nTaskType,ITaskEvent* pNetEvent,CSetupThread* pSetup,CPostCount* pPostCount) = 0;
	virtual void Stop() = 0;
	virtual void Pause() = 0;
	virtual TASKSTATE GetState() = 0;
	virtual void SetTaskContent(const CMaterialInfo& content) = 0;
	virtual CMaterialInfo GetTaskContext() = 0;
};

#endif //__STORMWIDGET_CONFIGMANAGE_ITASK_ITASK_H
